// miniprogram/pages/edituserInfo/header/header.js
const db = wx.cloud.database()
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userPhoto:''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    this.setData({
      userPhoto:app.userInfo.userPhoto
    })
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  //实现可以从电脑文件找图片的功能
  handleUpdateImage(){
    wx.chooseImage({//搜索chooseImage获取文档
      count: 1,
      sizeType: [ 'compressed'],
      sourceType: ['album', 'camera'],
      success:(res)=>{
        // tempFilePath可以作为img标签的src属性显示图片
        const tempFilePaths = res.tempFilePaths[0];
        this.setData({
          userPhoto: tempFilePaths
        })
      }
    })
  },
  //将图片上传到数据库中
  //getTempFileURL解决上传同一张图片缓存的问题
  handleBtn(){
    wx.showLoading({
      title: '上传中',
    })
    let cloudPath = "userPhoto/" + app.userInfo._openid + Date.now() +".jpg"
    wx.cloud.uploadFile({//搜索wx.cloud.uploadFile
      cloudPath,
      filePath: this.data.userPhoto // 文件路径
    }).then((res)=>{
      wx.hideLoading();
      wx.showToast({
        title: '上传成功',
      })
      console.log(res);
      let fileID = res.fileID;//更新至数据库
      if(fileID){
        db.collection('users').doc(app.userInfo._id).update({
          data:{
            userPhoto:fileID
          }
        }).then((res)=>{
          wx.hideLoading();
          wx.showToast({
            title: '上传并更新成功',
          });
          app.userInfo.userPhoto = fileID;
        })
      }
    })
  },
  //将数据库中的图片显示在小程序中
  bindGetUserInfo(ev){
    let userInfo = ev.detail.userInfo;
    if(userInfo){
      this.setData({
        userPhoto:userInfo.avatarUrl
      },()=>{
        wx.showLoading({
          title: '上传中',
        })
        db.collection('users').doc(app.userInfo._id).update({
          data:{
            userPhoto:userInfo.avatarUrl
          }
        }).then((res)=>{
          wx.hideLoading();
          wx.showToast({
            title: '上传并更新成功',
          });
          app.userInfo.userPhoto = userInfo.avatarUrl;
        })
      })
    }
  }
})